package cn.bdqn.dao.User;

import cn.bdqn.pojo.User.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

import java.util.Date;
import java.util.List;

@Mapper
public interface UserMapper extends BaseMapper<User>{

    public User getUserByPhone(@Param("phone") String phone);

    //前台登录方法
    public User login(User user);

    /**
     * 查询方法
     * @param name
     * @param role
     * @param phone
     * @return
     */
    public List<User> selectUser(@Param("name") String name,@Param("role") String role,@Param("phone") String phone,
                                 @Param("startTime")String startTime, @Param("endTime")String endTime
    ,@Param("sex")String sex,@Param("email")String email,@Param("state")String state);
    
    //删除用户 ，修改表中isdel字段为0
    public Integer updateUser(@Param("id") Integer id,@Param("state") Integer state);

    //批量停用用户
    public Integer updateUsers(@Param("ids") List<Integer> ids);
    //批量启用
    public Integer enabled(@Param("ids")List<Integer> ids);
    /**
     * 查询管理员信息
     * @param id
     * @return
     */
    public List<User> selectAdmin(@Param("name")String name,@Param("phone") String phone,@Param("roleId") Integer id);

    Boolean deleteAdminById(@Param("id") Integer id, @Param("isDel") Integer isDel);
    //查询昨日注册的用户数量
    Integer YesterdayUsersToday();
    //查询今日注册的用户数量
    Integer NewUsersToday();
    //查询本月注册用户数量
    Integer monthTheRegistered();
    //根据时间查询用户数量
    Integer selectUserByTime(String createTime);



    List<Integer> testByTime(Date time);
}
